home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-12-06 | 31.2 KB | 1,041 lines |
- '*************************************************************************
- '* Setup for Micrografx Picture Publisher 5.0 CD V1.1
- '**************************************************************************
-
-
-
- '$INCLUDE 'setupapi.inc'
- '$INCLUDE 'msdetect.inc'
- '$INCLUDE 'msregdb.inc'
- '$INCLUDE 'ppnamini.inc'
- '$INCLUDE 'ppini.inc'
-
-
- CONST WELCOME = 149
- CONST CUSTHELP = 115 'Custom setup help
- CONST CDOPTIONS = 116
- CONST PREVER4 = 146
- CONST EXPRESSOPT = 121
- CONST INSTMENU = 122
- CONST SCANHELPDB = 126
- CONST LICENSE = 130
- CONST CMS = 131
- CONST FULLINSTM = 134
- CONST CUSTINSTCD = 138
- CONST OLEOPTN1 = 140 'OLE option for updating to 5.0
- CONST OLEOPTN2 = 141
- CONST WINSHARE = 143
- CONST CLOSEHELP = 145
- CONST SHAREWARN = 150
- CONST ASKQUIT = 200
- CONST DESTPATH = 300
- CONST EXITQUIT = 600
- CONST EXITSUCCESS = 700
- CONST APPHELP = 900
- CONST WAIT = 5000
- CONST INSTMENUEXP = 6200
- CONST TOOBIG = 6300
- CONST BADPATH = 6400
- CONST LAWS = 7100
- CONST CDCONFIRMINFO= 7300
- CONST CDGETNAMEORG = 7500
-
- ''Bitmap ID
- CONST LOGO = 1
-
- ''File Types
- CONST APPFILES = 1
- CONST EFCTFILES = 2
- CONST TUTFILES = 3
- CONST IMPORTFILES = 4
- CONST HELPFILES = 5
- CONST TEXTFILES = 6
- CONST SCANFILES = 7
-
- GLOBAL WINDRIVE$ 'Windows drive letter.
- GLOBAL WINDIRECT$
- GLOBAL SYSTEMDIRECT$
-
-
- ''CustInst list symbol names
- GLOBAL FULLNEEDS$
- GLOBAL APPNEEDS$ ''Option list costs per drive
- GLOBAL TEXTNEEDS$
- GLOBAL IMPORTNEEDS$
- GLOBAL TUTNEEDS$
- GLOBAL HELPNEEDS$
- GLOBAL SCANNEEDS$
- GLOBAL EFCTNEEDS$
-
- GLOBAL EXTRACOSTS$ ''List of extra costs to add per drive
-
- GLOBAL PICTPUB$ ''Picture Publisher 5.0 Destination directories.
- GLOBAL ALBUM$
- GLOBAL BRUSH$
- GLOBAL CLIPBIT$
- GLOBAL DBF$
- GLOBAL DEVICE$
- GLOBAL EFFECT$
- GLOBAL MACRO$
- GLOBAL PALETTE$
- GLOBAL PRINTSTY$
- GLOBAL SAMPLE$
- GLOBAL TEXTURE$
- GLOBAL THUMB$
- GLOBAL TUTORIAL$
- GLOBAL FILTER$
- GLOBAL PICTPUBOLE$
- GLOBAL TooManyFiles%
- GLOBAL PICTPUBCK50$
- GLOBAL SetAppfilesOn%
-
- ''Dialog list symbol names
- GLOBAL CHECKSTATES$
- GLOBAL STATUSTEXT$
- GLOBAL DRIVETEXT$
- GLOBAL VERTEXT$
- GLOBAL CUSTID$
- GLOBAL ORGID$
-
-
- ''Subroutines and fuctions
- DECLARE SUB AddOptFilesToCopyList (ftype%)
- DECLARE SUB RecalcOptFiles (ftype%)
- DECLARE SUB RecalcPath
- DECLARE SUB SetDriveStatus
- DECLARE SUB CreateSubDir
- DECLARE SUB OLE_Process
-
- DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
- DECLARE FUNCTION HandleDBF LIB "INIUPD.DLL" (szDBFFile$, szFileDir$, szThumbDir$) AS INTEGER
- DECLARE FUNCTION pmShowGroup LIB "pmdde.dll" (Group$, Cmd%) AS INTEGER
- DECLARE FUNCTION pmDeleteItem LIB "pmdde.dll" (Group$) AS INTEGER
- DECLARE FUNCTION MyLeftFoot LIB "INIUPD.DLL" (szStr$, szDest$, n%) AS INTEGER
- DECLARE FUNCTION UpdateRegistry LIB "INIUPD.DLL" (szPath$) AS INTEGER
-
- INIT:
- CUIDLL$ = "mscuistf.dll" ''custom user interface dll
- HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
-
- MaximizeFrame
- SetBitmap CUIDLL$, LOGO
- SetTitle "Setup"
-
- szInf$ = GetSymbolValue("STF_SRCINFPATH")
- IF szInf$ = "" THEN
- szInf$ = GetSymbolValue("STF_CWDDIR") + "PPSETUP.INF"
- END IF
- ReadInfFile szInf$
-
- WINDRIVE$ = MID$(GetWindowsDir, 1, 1)
-
- WINDIRECT$ = GetWindowsDir
-
- SYSTEMDIRECT$ = GetWindowsSysDir
-
- 'Create OLE system file list for OLE_Process procedure
- VERTEXT$ = "Version_txt"
- MakeListFromSectionKeys VERTEXT$, "Ole"
-
-
- 'Check previously installed versions
- MGXini$ = MakePath(WINDIRECT$, "MGX.INI")
-
- IF DoesIniKeyExist (MGXini$, "Micrografx", "Picture Publisher 5.0") THEN
- PICTPUB$=GetIniKeyString (MGXini$, "Micrografx", "Picture Publisher 5.0")
- PICTPUBCK50$ = PICTPUB$
- User_ID$= GetIniKeyString (PICTPUB$+"\PP.ini","Picture Publisher","User")
- Company_ID$= GetIniKeyString (PICTPUB$+"\PP.ini","Picture Publisher","Company")
- ELSEIF DoesIniKeyExist (WINDIRECT$+"WIN.INI", "Micrografx", "Picture Publisher 4.0") THEN
- ELSE
- PICTPUB$ = WINDRIVE$ + ":\PICTPUB5"
- ENDIF
-
- sztemp$ = GetSymbolValue("STF_SRCDIR")
- szTemp2$ = "012345678901234567890123456789012234567890123456789"
- value%=MyLeftFoot(sztemp$, sztemp2$, 2)
- PICTPUBN$= sztemp2$
-
- ''CustInst list symbols
- CHECKSTATES$ = "CheckItemsState"
- STATUSTEXT$ = "StatusItemsText"
- DRIVETEXT$ = "DriveStatusText"
-
- FOR i% = 1 TO 7 STEP 1
- AddListItem CHECKSTATES$, "ON"
- NEXT i%
-
-
- FOR i% = 1 TO 7 STEP 1
- AddListItem STATUSTEXT$, ""
- NEXT i%
- FOR i% = 1 TO 8 STEP 1
- AddListItem DRIVETEXT$, ""
- NEXT i%
-
-
- ''Disk cost list symbols
- APPNEEDS$ = "AN"
- IMPORTNEEDS$= "IN"
- TEXTNEEDS$ = "TN"
- TUTNEEDS$ = "TTN"
- HELPNEEDS$ = "HN"
- SCANNEEDS$ = "SN"
- EFCTNEEDS$ = "EN"
-
- EXTRACOSTS$ = "ExtraCosts"
-
- FOR i% = 1 TO 26 STEP 1
- AddListItem EXTRACOSTS$, "0"
- NEXT i%
-
- ReplaceListItem DRIVETEXT$, 7, PICTPUB$
-
- '*************************************************************************
- WELCOME:
- sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", CLOSEHELP, HELPPROC$)
-
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- ELSE
- GOSUB ASKQUIT
- GOTO WELCOME
- END IF
-
-
- '*************************************************************************
- LICENSE:
- sz$ = UIStartDlg(CUIDLL$, LAWS, "FInfoDlgProc", LICENSE, HELPPROC$)
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- ELSE
- GOSUB ASKQUIT
- GOTO LICENSE
- END IF
-
- '*************************************************************************
- IF IsWindowsShared THEN
- dlg% = WINSHARE 'DB for shared windows
- GOTO QUITL1
- END IF
-
- '*************************************************************************
- JUMPTO_ID:
- JUMP:
-
- FULLEXIST% = 0
- sz$ = UIStartDlg(CUIDLL$, EXPRESSOPT, "FRadioDlgProc", APPHELP , HELPPROC$)
- OPTCUR$ = GetSymbolValue("ButtonChecked")
-
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- IF OPTCUR$ = "1" THEN
- FULLEXIST% = 1
- GOTO PREV
-
- ELSEIF OPTCUR$ = "2" THEN
- GOTO PREV
- ENDIF
- ELSEIF sz$ = "REACTIVATE" THEN
- UIPop 1
- GOTO JUMP
- ELSE
- UIPop 1
- GOSUB ASKQUIT
-
- GOTO JUMP
-
- ENDIF
-
-
- '*************************************************************************
- PREV:
-
- IF exist% THEN
- sz$ = UIStartDlg(CUIDLL$, PREVER4, "FInfoDlgProc", APPHELP, HELPPROC$)
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- ELSE
- UIPop 1
- GOSUB ASKQUIT
- GOTO PREV
- ENDIF
- ENDIF
- '*************************************************************************
- 'Recalculate drive needs
- RECALCIT:
- sz$ = UIStartDlg(CUIDLL$, WAIT, "FModelessDlgProc", APPHELP, HELPPROC$)
- RecalcPath
- SetDriveStatus
- UIPop 1
- '*************************************************************************
- INSTMENU:
- IF FULLEXIST THEN
- sz$ = UIStartDlg(CUIDLL$, FULLINSTM, "FCustInstDlgProc", CUSTHELP, HELPPROC$)
- ELSE
- sz$ = UIStartDlg(CUIDLL$, CUSTINSTCD, "FCustInstDlgProc", CUSTHELP , HELPPROC$)
- ENDIF
- IF sz$ = "CONTINUE" THEN
- ''Install only if it will fit.
- IF TooManyFiles% THEN
- UIPop 1
- GOSUB TOOBIG
- GOTO INSTMENU
-
- END IF
- UIPop 1
- GOTO INSTALL
-
-
- ELSEIF sz$ = "PATH" THEN
- UIPop 1
- GOTO GETPATH
-
- ELSEIF sz$ = "CHK1" THEN
- RecalcOptFiles APPFILES
- SetDriveStatus
- GOTO INSTMENU
-
- ELSEIF sz$ = "BTN1" THEN
- UIPop 1
- sz$ = UIStartDlg(CUIDLL$, SCANHELPDB, "FInfoDlgProc", APPHELP, HELPPROC$)
-
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- GOTO INSTMENU
- ENDIF
-
- ELSEIF sz$ = "CHK2" THEN
- RecalcOptFiles EFCTFILES
- SetDriveStatus
- GOTO INSTMENU
-
- ELSEIF sz$ = "CHK3" THEN
- RecalcOptFiles TUTFILES
- SetDriveStatus
- GOTO INSTMENU
-
- ELSEIF sz$ = "BTN3" THEN
- UIPop 1
- GOTO JUMP
-
- ELSEIF sz$ = "CHK4" THEN
- RecalcOptFiles IMPORTFILES
- SetDriveStatus
- GOTO INSTMENU
-
- ELSEIF sz$ = "CHK5" THEN
- RecalcOptFiles HELPFILES
- SetDriveStatus
- GOTO INSTMENU
-
- ELSEIF sz$ = "CHK6" THEN
- RecalcOptFiles TEXTFILES
- SetDriveStatus
- GOTO INSTMENU
-
- ELSEIF sz$ = "CHK7" THEN
- RecalcOptFiles SCANFILES
- SetDriveStatus
- GOTO INSTMENU
-
-
- ELSEIF sz$ = "REACTIVATE" THEN
- UIPop 1
- GOTO RECALCIT
- ELSE
- UIPop 1
- GOSUB ASKQUIT
- GOTO INSTMENU
- END IF
-
-
- '*************************************************************************
- '*************************************************************************
- '*************************************************************************
- INSTALL:
- sz$ = UIStartDlg(CUIDLL$, WAIT, "FModelessDlgProc", APPHELP, HELPPROC$)
- ClearCopyList
-
- FULLNEEDS$ = "" 'Memory optimization
- APPNEEDS$ = ""
- TEXTNEEDS$ = ""
- IMPORTNEEDS$ = ""
- TUTNEEDS$ = ""
- HELPNEEDS$ = ""
- SCANNEEDS$ = ""
- EFCTNEEDS$ = ""
- EXTRACOSTS$ = ""
- STATUSTEXT$ = ""
- DRIVETEXT$ = ""
-
- PICTPUBOLE$ = PICTPUB$ +"\PP50.EXE" 'Creates full path for PP5.0 OLE working directories
-
- CreateDir PICTPUB$, cmoNone
- CreateSubDir
- SrcDir$ = GetSymbolValue("STF_SRCDIR")
- SrcFileDir$ = MakePath (SrcDir$, "INSTALL")
- ini$ = MakePath(PICTPUB$, "NAMES.INI")
-
- IF PICTPUBCK$ = PICTPUB$ THEN 'Removes old files from PP4.0
- RemoveFile PICTPUBCK$+"\mgxrx101.dll", cmoNone
- RemoveFile PICTPUBCK$+"\pcdlib.dll", cmoNone
- RemoveFile PICTPUBCK$+"\jpeg_dll.dll", cmoNone
- RemoveFile PICTPUBCK$+"\PP40.exe", cmoNone
- RemoveFile PICTPUBCK$+"\PPLE.exe", cmoNone
- RemoveFile PICTPUBCK$+"\PPhlp.hlp", cmoNone
- RemoveFile PICTPUBCK$+"\pp-scan.hlp", cmoNone
- RemoveIniSection ini$, "Macro", cmoNone 'remove conflicting macros
- RemoveFile PICTPUBCK$+"\effects\reduce.dfx", cmoNone
- RemoveIniSection ini$, "Special", cmoNone 'remove conflicting effects
- SetFlgRemovePrevVer%=1
- RemoveIniKey WINDIRECT$+"WIN.INI", "Micrografx", "Picture Publisher 4.0", cmoNone
- ENDIF
-
-
- UIPop 1
- szName$= "CLSID\{000440EE-0000-0000-C000-000000000046}"
- sz$ = UIStartDlg(CUIDLL$, OLEOPTN1, "FInfoDlgProc", APPHELP, HELPPROC$)
-
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- CreateRegKeyValue szName$, "Picture Publisher Image"
- DeleteRegKey szName$+"\TreatAs"
- CreateRegKeyValue szName$+"\AutoConvertTo","{BC7A9620-3913-101B-9649-020080A38E74}"
- CreateRegKeyValue szName$+"\ProgID", "BitmapImage"
- CreateRegKeyValue szName$+"\Ole1Class", "BitmapImage"
- IF SetFlgRemovePrevVer% THEN
- DeleteRegKey szName$+"\ProgID"
- ENDIF
- ELSE
- UIPop 1
- sz$ = UIStartDlg(CUIDLL$, OLEOPTN2, "FInfoDlgProc", APPHELP, HELPPROC$)
-
- IF sz$ = "CONTINUE" THEN
- CreateRegKeyValue szName$, "Picture Publisher Image"
- DeleteRegKey szName$+"\AutoConvertTo"
- CreateRegKeyValue szName$+"\TreatAs","{BC7A9620-3913-101B-9649-020080A38E74}"
- CreateRegKeyValue szName$+"\ProgID", "BitmapImage"
- CreateRegKeyValue szName$+"\Ole1Class", "BitmapImage"
- UIPop 1
-
- ELSE
- UIPop 1
- DeleteRegKey szName$+"\AutoConvertTo"
- DeleteRegKey szName$+"\TreatAs"
- END IF
- ENDIF
- szName$=""
-
- IF GetListItem(CHECKSTATES$, APPFILES) = "ON" THEN
-
- OLE_Process
- AddSectionFilestoCopyList "Maindbf", SrcFileDir$, THUMB$
-
- AddSectionFilesToCopyList "Appfiles", SrcFileDir$, PICTPUB$
- AddSectionFilesToCopyList "Mainini", SrcFileDir$, PICTPUB$
-
- AddSectionFilestoCopyList "Macros", SrcFileDir$, MACRO$
-
- AddSectionFilestoCopyList "Printstyles", SrcFileDir$, PRINTSTY$
- AddSectionFilestoCopyList "Palettes", SrcFileDir$, PALETTE$
-
- AddSectionFilestoCopyList "Defaulttextures", SrcFileDir$, TEXTURE$
- AddSectionFilestoCopyList "Defaulttexturebrush", SrcFileDir$, BRUSH$
- AddSectionFilestoCopyList "Brushes", SrcFileDir$, BRUSH$
- AddSectionFilesToCopyList "Musttutorial", SrcFileDir$, TUTORIAL$
- AddSectionFilestoCopyList "Thumbs", SrcFileDir$, THUMB$
- SetAppfilesOn%=1
- AddSectionFilestoCopyList "Clipbits", SrcFileDir$, CLIPBIT$
- UIPop 1
- sz$ = UIStartDlg(CUIDLL$, WAIT, "FModelessDlgProc", APPHELP, HELPPROC$)
-
- CreateIniKeyValue ini$, "Clipboard", "Logo", "Logo.pp5", cmoNone
- CreateOptStyleNamesEntries(ini$)
- CreateOptPaletteNamesEntries(ini$)
- CreatePrintStyNamesEntries(ini$)
- CreateDTextrNamesIni(ini$)
- CreatePPINIKeyEntries (PICTPUB$+"\pp.ini")
-
- ENDIF
-
- IF GetListItem(CHECKSTATES$, IMPORTFILES) = "ON" THEN
- AddSectionFilestoCopyList "Filterappfiles", SrcFileDir$, PICTPUB$
- AddSectionFilestoCopyList "Filtersini", SrcFileDir$, FILTER$
- AddSectionFilesToCopyList "Filters", SrcFileDir$, FILTER$
- ENDIF
-
- IF GetListItem(CHECKSTATES$, TUTFILES) = "ON" THEN
- AddSectionFilestoCopyList "Tutorial", SrcFileDir$, TUTORIAL$
- AddSectionFilestoCopyList "Tutordbf", SrcFileDir$, THUMB$
- TutThumbon%=1
- ENDIF
-
- IF GetListItem(CHECKSTATES$, HELPFILES) = "ON" THEN
- AddSectionFilestoCopyList "Helpfile1", SrcFileDir$, PICTPUB$
- AddSectionFilestoCopyList "Helpfile2", SrcFileDir$, PICTPUB$
- SCANHELP%=1
- ENDIF
-
- IF GetListItem(CHECKSTATES$, EFCTFILES) = "ON" THEN
- AddSectionFilestoCopyList "Effects", SrcFileDir$, EFFECT$
- RemoveIniSection ini$, "Special", cmoNone
- CreateOptFXNamesEntries(ini$)
- END IF
-
- IF GetListItem(CHECKSTATES$, TEXTFILES) = "ON" THEN
-
- AddSectionFilestoCopyList "Textrcd", SrcFileDir$, PICTPUB$+"\textures"
- AddSectionFilestoCopyList "Brushcd", SrcFileDir$, PICTPUB$+"\brushes"
- CreateOptTextureNamesEntries (ini$)
-
- END IF
-
- IF GetListItem(CHECKSTATES$, SCANFILES) = "ON" THEN
- AddSectionFilestoCopyList "Devices", SrcFileDir$, PICTPUB$+"\devices"
- CreateOptScanNamesEntries(ini$)
- END IF
-
-
- RemoveIniKey WINDIRECT$+"MGX.INI", "Micrografx", "PP.INI" , cmoNone
- CreateIniKeyValue WINDIRECT$+"MGX.INI", "Micrografx", "Picture Publisher 5.0", PICTPUB$, cmoOverwrite
- CreateIniKeyValue WINDIRECT$+"MGX.INI", "Picture Publisher 5.0", "Warning", "0", cmoOverwrite
-
- szInf$ = ""
-
- UIPop 1
-
- getbeep%=SetBeepingMode(1)
-
- SetRestartDir GetWindowsDir()
-
- CopyFilesInCopyList
-
-
- ini$ = MakePath(PICTPUB$, "PP.INI")
- szName$="Picture Publisher"
- CreateIniKeyValue ini$, szName$, "Device", DEVICE$, cmoNone
- CreateIniKeyValue ini$, szName$, "Texture", TEXTURE$, cmoNone
- CreateIniKeyValue ini$, szName$, "Palette", PALETTE$, cmoNone
- CreateIniKeyValue ini$, szName$, "Effects", EFFECT$, cmoNone
- CreateIniKeyValue ini$, szName$, "PrnStyle", PRINTSTY$, cmoNone
- CreateIniKeyValue ini$, szName$, "Brush", BRUSH$, cmoNone
- CreateIniKeyValue ini$, szName$, "ClipBit", CLIPBIT$, cmoNone
- CreateIniKeyValue ini$, szName$, "Shapepath", CLIPBIT$, cmoNone
- CreateIniKeyValue ini$, szName$, "Macros", MACRO$, cmoNone
- CreateIniKeyValue ini$, szName$, "ThumbnailDir", THUMB$, cmoNone
- CreateIniKeyValue ini$, szName$, "DBFInfoDir", THUMB$, cmoNone
- CreateIniKeyValue ini$, szName$, "AlbumFileDir", ALBUM$, cmoNone
- CreateIniKeyValue ini$, szName$, "Filters", FILTER$, cmoNone
- CreateIniKeyValue ini$, szName$, "Pouchpath", PICTPUB$, cmoNone
- CreateIniKeyValue ini$, szName$, "RamDisk", PICTPUB$, cmoNone
-
- IF TutThumbon% THEN
-
- szDBF$ = MakePath (THUMB$, "__HTUTR.DBF")
- IF HandleDBF (szDBF$, TUTORIAL$, THUMB$) THEN
- END IF
- ENDIF
-
- IF SetAppfilesOn% THEN
-
- szDBF$ = MakePath (THUMB$, "__HOME.DBF")
- IF HandleDBF (szDBF$, PICTPUB$, THUMB$) THEN
- END IF
- szDBF$ = MakePath (THUMB$, "__CLIPBT.DBF")
- IF HandleDBF (szDBF$, CLIPBIT$, THUMB$) THEN
- END IF
-
-
- ENDIF
-
-
- QUIT:
- ON ERROR GOTO ERRQUIT
-
- IF ERR = 0 THEN
- dlg% = EXITSUCCESS
- ELSE
- UIPop 1
- dlg% = EXITQUIT
- END IF
-
- IF dlg% = EXITSUCCESS THEN
-
- RUN "Regedit /S OLE2.REG"
- n% = UpdateRegistry (PICTPUBOLE$)
-
- around:
- sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- ELSE
- GOTO around
- ENDIF
-
- ini$ = MakePath(PICTPUB$, "PP.INI")
- CreateProgmanGroup "Micrografx", "", cmoNone
- ShowProgmanGroup "Micrografx", 1, cmoNone
- IF SetAppfilesOn% THEN
- CreateProgmanItem "Micrografx ", "Picture Publisher 5.0 30 Day Trial", ""+MakePath(PICTPUB$,"PP50.EXE"), "", cmoOverwrite
- ENDIF
- IF SCANHELP% THEN
- CreateProgmanItem "Micrografx", "Scanner Installation Help", "winhelp.exe "+MakePath(PICTPUB$,"PP_SCAN.HLP"), "", cmoOverwrite
- ENDIF
-
- sz$ = UIStartDlg(CUIDLL$, CMS, "FInfoDlgProc", CMS, HELPPROC$)
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- END IF
- sz$ = UIStartDlg(CUIDLL$, SHAREWARN, "FInfoDlgProc", APPHELP, HELPPROC$)
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- END IF
-
-
- ENDIF
-
-
- GOTO ENDIT
-
- QUITL1:
- sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
-
- IF sz$ = "REACTIVATE" THEN
- GOTO QUITL1
- END IF
- UIPop 1
-
- ENDIT:
-
- IF RestartListEmpty()=0 THEN
- Restartf% = ExitExecRestart()
- ENDIF
-
- END
-
- ERRQUIT:
- OUT$ = STR$(ERR)
- IF ERR = 14 THEN
- ErrSTR$= "ERROR #" + OUT$ + ". File copying failure. Consult HELP on the opening screen."
- i% = DoMsgBox(ErrSTR$, "REINSTALL", MB_OK+MB_TASKMODAL+MB_ICONHAND)
- UIPop 1
- END
- ENDIF
-
- ErrSTR$= "ERROR #" + OUT$ + ". Report to Tech Support 214-497-6495"
- i% = DoMsgBox(ErrSTR$, "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
-
- END
-
- '*************************************************************************
- SUB CreateSubDir STATIC
- szName$="Picture Publisher"
- SrcDir$ = GetSymbolValue("STF_SRCDIR")
-
- SrcFileDir$ = MakePath (SrcDir$, "INSTALL")
-
- ini$ = MakePath(PICTPUB$, "PP.INI")
-
- DEVICE$ = GetIniKeyString (ini$, szName$, "Device")
- IF DEVICE$ = "" THEN
- DEVICE$ = MakePath (PICTPUB$, "DEVICES")
- CreateDir DEVICE$, cmoNone
- END IF
-
- ALBUM$ = GetIniKeyString (ini$, szName$, "AlbumFileDir")
- IF ALBUM$ = "" THEN
- ALBUM$ = MakePath (PICTPUB$, "ALBUMS")
- CreateDir ALBUM$, cmoNone
- END IF
-
- BRUSH$ = GetIniKeyString (ini$, szName$, "Brush")
- IF BRUSH$ = "" THEN
- BRUSH$ = MakePath (PICTPUB$, "BRUSHES")
- CreateDir BRUSH$, cmoNone
- END IF
-
- CLIPBIT$ = GetIniKeyString (ini$, szName$, "ClipBits")
- IF CLIPBIT$ = "" THEN
- CLIPBIT$ = MakePath (PICTPUB$, "CLIPBITS")
- CreateDir CLIPBIT$, cmoNone
- END IF
-
- THUMB$ = GetIniKeyString (ini$, szName$, "DBFInfoDir")
- IF THUMB$ = "" THEN
- THUMB$ = MakePath (PICTPUB$, "THUMBS")
- CreateDir THUMB$, cmoNone
- END IF
-
- EFFECT$ = GetIniKeyString (ini$, szName$, "Effects")
- IF EFFECT$ = "" THEN
- EFFECT$ = MakePath (PICTPUB$, "EFFECTS")
- CreateDir EFFECT$, cmoNone
- END IF
-
- MACRO$ = GetIniKeyString (ini$, szName$, "Macros")
- IF MACRO$ = "" THEN
- MACRO$ = MakePath (PICTPUB$, "MACROS")
- CreateDir MACRO$, cmoNone
- END IF
-
- PALETTE$ = GetIniKeyString (ini$, szName$, "Palette")
- IF PALETTE$ = "" THEN
- PALETTE$ = MakePath (PICTPUB$, "PALETTES")
- CreateDir PALETTE$, cmoNone
- END IF
-
- PRINTSTY$ = GetIniKeyString (ini$, szName$, "PrnStyle")
- IF PRINTSTY$ = "" THEN
- PRINTSTY$ = MakePath (PICTPUB$, "PRINTSTY")
- CreateDir PRINTSTY$, cmoNone
- END IF
-
- TEXTURE$ = GetIniKeyString (ini$, szName$, "Texture")
- IF TEXTURE$ = "" THEN
- TEXTURE$ = MakePath (PICTPUB$, "TEXTURES")
- CreateDir TEXTURE$, cmoNone
- END IF
-
- DBF$ = GetIniKeyString (ini$, szName$, "DBFInfoDir")
- IF DBF$ = "" THEN
- DBF$ = MakePath (PICTPUB$, "THUMBS")
- END IF
-
- THUMB$ = GetIniKeyString (ini$, szName$, "ThumbnailDir")
- IF THUMB$ = "" THEN
- THUMB$ = MakePath (PICTPUB$, "THUMBS")
- CreateDir THUMB$, cmoNone
- END IF
-
- FILTER$ = GetIniKeyString (ini$, szName$, "Filters")
- IF FILTER$ = "" THEN
- FILTER$ = MakePath (PICTPUB$, "FILTERS")
- CreateDir FILTER$, cmoNone
- END IF
-
- TUTORIAL$ = GetIniKeyString (ini$, szName$, "Tutorial")
- IF TUTORIAL = "" THEN
- TUTORIAL = MakePath (PICTPUB$, "TUTORIAL")
- CreateDir TUTORIAL$, cmoNone
- END IF
-
- END SUB
-
-
- '*************************************************************************
- GETPATH:
- SetSymbolValue "EditTextIn", PICTPUB$
- SetSymbolValue "EditFocus", "END"
- GETPATHL1:
- sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
-
- IF sz$ = "CONTINUE" THEN
- oldPICTPUB$ = PICTPUB$
- PICTPUB$ = GetSymbolValue("EditTextOut")
-
- ''Validate new path.
- IF IsDirWritable(PICTPUB$) = 0 THEN
- GOSUB BADPATH
- GOTO GETPATHL1
- END IF
- UIPop 1
-
-
- ''Truncate display if too long.
- IF LEN(PICTPUB$) > 40 THEN
- ReplaceListItem DRIVETEXT$, 7, MID$(PICTPUB$, 1, 40)+"..."
- ELSE
- ReplaceListItem DRIVETEXT$, 7, PICTPUB$
- END IF
-
- ''Recalc if path changed.
- IF (oldPICTPUB$ <> PICTPUB$) AND (oldPICTPUB$ <> PICTPUB$+"\") AND (oldPICTPUB$+"\" <> PICTPUB$) THEN
- sz$ = UIStartDlg(CUIDLL$, WAIT, "FModelessDlgProc", APPHELP, HELPPROC$)
- RecalcPath
- SetDriveStatus
- UIPop 1
- END IF
-
- oldPICTPUB$ = ""
-
- GOTO INSTMENU
- ELSEIF sz$ = "REACTIVATE" THEN
- RecalcPath
- SetDriveStatus
- GOTO GETPATHL1
- ELSEIF sz$ = "EXIT" THEN
- GOSUB ASKQUIT
- GOTO GETPATHL1
- ELSE
- UIPop 1
- GOTO INSTMENU
- END IF
-
-
- '*************************************************************************
- TOOBIG:
- sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- RecalcPath
- SetDriveStatus
- GOTO TOOBIG
- END IF
- UIPop 1
- RETURN
-
-
- '*************************************************************************
- BADPATH:
- sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- RecalcPath
- SetDriveStatus
- GOTO BADPATH
- END IF
- UIPop 1
- RETURN
-
-
- '*************************************************************************
- ASKQUIT:
- UIPop 1
- sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
-
- IF sz$ = "EXIT" THEN
- UIPopAll
- ERROR STFQUIT
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO ASKQUIT
- ELSE
- UIPop 1
- END IF
- RETURN
-
- '*************************************************************************
- SUB RecalcOptFiles (ftype%) STATIC
- CursorSave% = ShowWaitCursor()
- ClearCopyList
- AddOptFilesToCopyList ftype%
-
- fExtra% = 0
- IF ftype% = APPFILES THEN
- ListSym$ = APPNEEDS$
- IF GetListItem(CHECKSTATES$, APPFILES) = "ON" THEN
- ''Add extra cost to Windows drive for ini/progman, etc.
- ndrive% = ASC(ucase$(WINDRIVE$)) - ASC("A") + 1
- ReplaceListItem EXTRACOSTS$, ndrive%, "10240"
- fExtra% = 1
- END IF
-
- ELSEIF ftype% = TUTFILES THEN
- ListSym$ = TUTNEEDS$
-
- ELSEIF ftype% = IMPORTFILES THEN
- ListSym$ = IMPORTNEEDS$
-
- ELSEIF ftype% = HELPFILES THEN
- ListSym$ = HELPNEEDS$
-
- ELSEIF ftype% = EFCTFILES THEN
- ListSym$ = EFCTNEEDS$
-
- ELSEIF ftype% = SCANFILES THEN
- ListSym$ = SCANNEEDS$
-
- ELSEIF ftype% = TEXTFILES THEN
- ListSym$ = TEXTNEEDS$
- END IF
-
-
- StillNeed& = GetCopyListCost(EXTRACOSTS$, ListSym$, "needmore")
- cost& = 0
- FOR i% = 1 TO 26 STEP 1
- cost& = cost& + VAL(GetListItem(ListSym$, i%))
- IF VAL(GetListItem("needmore", i%)) > 0 THEN
-
- ELSE
-
- END IF
- NEXT i%
- ReplaceListItem STATUSTEXT$, ftype%, STR$(cost& / 1024) + " K"
-
- IF fExtra% THEN
- ReplaceListItem EXTRACOSTS$, ndrive%, "0"
- END IF
- RestoreCursor CursorSave%
- ListSym$ = ""
-
- END SUB
-
- '*************************************************************************
- SUB RecalcPath STATIC
-
- CursorSave% = ShowWaitCursor()
-
- RecalcOptFiles (APPFILES)
- RecalcOptFiles (IMPORTFILES)
- RecalcOptFiles (HELPFILES)
- RecalcOptFiles (EFCTFILES)
- RecalcOptFiles (TUTFILES)
- RecalcOptFiles (TEXTFILES)
- RecalcOptFiles (SCANFILES)
-
- RestoreCursor CursorSave%
-
- END SUB
-
-
- '*************************************************************************
- SUB SetDriveStatus STATIC
-
- TooManyFiles% = 0
- drive$ = MID$(PICTPUB$, 1, 1)
- ndrive% = ASC(ucase$(drive$)) - ASC("A") + 1
- cost1& = VAL(GetListItem(APPNEEDS$, ndrive%)) + VAL(GetListItem(IMPORTNEEDS$, ndrive%)) + VAL(GetListItem(TEXTNEEDS$, ndrive%))
- cost2& = VAL(GetListItem(TUTNEEDS$, ndrive%)) + VAL(GetListItem(EFCTNEEDS$, ndrive%)) + VAL(GetListItem(HELPNEEDS$, ndrive%)) + VAL(GetListItem(SCANNEEDS$, ndrive%))
- cost& = cost1& + cost2&
- free& = GetFreeSpaceForDrive(drive$)
- ReplaceListItem DRIVETEXT$, 1, ucase$(drive$) + ":"
- ReplaceListItem DRIVETEXT$, 2, STR$(cost& / 1024) + " K"
- ReplaceListItem DRIVETEXT$, 3, STR$(free& / 1024) + " K"
- IF cost& > free& THEN
- TooManyFiles% = 1
- END IF
-
- IF drive$ = WINDRIVE$ THEN
- ReplaceListItem DRIVETEXT$, 4, ""
- ReplaceListItem DRIVETEXT$, 5, ""
- ReplaceListItem DRIVETEXT$, 6, ""
- ELSE
- ndrive% = ASC(ucase$(WINDRIVE$)) - ASC("A") + 1
- cost1& = VAL(GetListItem(APPNEEDS$, ndrive%)) + VAL(GetListItem(IMPORTNEEDS$, ndrive%)) + VAL(GetListItem(TEXTNEEDS$, ndrive%)) + VAL(GetListItem(SCANNEEDS$, ndrive%))
- cost2& = VAL(GetListItem(TUTNEEDS$, ndrive%)) + VAL(GetListItem(EFCTNEEDS$, ndrive%)) + VAL(GetListItem(HELPNEEDS$, ndrive%))
- cost& = cost1& + cost2&
- IF cost& = 0 THEN
- ReplaceListItem DRIVETEXT$, 4, ""
- ReplaceListItem DRIVETEXT$, 5, ""
- ReplaceListItem DRIVETEXT$, 6, ""
- ELSE
- free& = GetFreeSpaceForDrive(WINDRIVE$)
- ReplaceListItem DRIVETEXT$, 4, WINDRIVE$ + ":"
- ReplaceListItem DRIVETEXT$, 5, STR$(cost& / 1024) + " K"
- ReplaceListItem DRIVETEXT$, 6, STR$(free& / 1024) + " K"
- END IF
- IF cost& > free& THEN
- TooManyFiles% = 1
- END IF
- END IF
- END SUB
-
-
- '*************************************************************************
- FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
- IF szDir$ = "" THEN
- MakePath = szFile$
- ELSEIF szFile$ = "" THEN
- MakePath = szDir$
- ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
- MakePath = szDir$ + szFile$
- ELSE
- MakePath = szDir$ + "\" + szFile$
- END IF
- END FUNCTION
-
- '*************************************************************************
-
- '*************************************************************************
- SUB AddOptFilesToCopyList (ftype%) STATIC
-
- IF GetListItem(CHECKSTATES$, ftype%) = "ON" THEN
- SrcDir$ = GetSymbolValue("STF_SRCDIR")
- SrcFileDir$ = MakePath (SrcDir$, "INSTALL")
-
-
- IF ftype% = APPFILES THEN
- OLE_Process
- AddSectionFilestoCopyList "Maindbf", SrcFileDir$, PICTPUB$
- AddSectionFilesToCopyList "Appfiles", SrcFileDir$, PICTPUB$
- AddSectionFilesToCopyList "Mainini", SrcFileDir$, PICTPUB$
-
- AddSectionFilestoCopyList "Macros", SrcFileDir$, PICTPUB$
-
- AddSectionFilestoCopyList "Printstyles", SrcFileDir$, PICTPUB$
- AddSectionFilestoCopyList "Palettes", SrcFileDir$, PICTPUB$
-
- AddSectionFilestoCopyList "Defaulttextures", SrcFileDir$, PICTPUB$
- AddSectionFilestoCopyList "Defaulttexturebrush", SrcFileDir$, PICTPUB$
- AddSectionFilestoCopyList "Brushes", SrcFileDir$, PICTPUB$
-
- AddSectionFilesToCopyList "Musttutorial", SrcFileDir$, PICTPUB$
-
- AddSectionFilestoCopyList "Thumbs", SrcFileDir$, PICTPUB$
- AddSectionFilestoCopyList "Clipbits", SrcFileDir$, PICTPUB$
-
-
- ENDIF
-
- IF ftype% = IMPORTFILES THEN
- AddSectionFilestoCopyList "Filterappfiles", SrcFileDir$, PICTPUB$
- AddSectionFilestoCopyList "Filtersini", SrcFileDir$, PICTPUB$
- AddSectionFilesToCopyList "Filters", SrcFileDir$, PICTPUB$
- ENDIF
-
- IF ftype% = TUTFILES THEN
- AddSectionFilesToCopyList "Tutorial", SrcFileDir$, PICTPUB$
- AddSectionFilestoCopyList "Tutordbf", SrcFileDir$, PICTPUB$
- ENDIF
-
- IF ftype% = HELPFILES THEN
- AddSectionFilestoCopyList "Helpfile1", SrcFileDir$, PICTPUB$
- AddSectionFilestoCopyList "Helpfile2", SrcFileDir$, PICTPUB$
- ENDIF
-
- IF ftype% = EFCTFILES THEN
- AddSectionFilestoCopyList "Effects", SrcFileDir$, PICTPUB$
- ENDIF
-
- IF ftype% = TEXTFILES THEN
- AddSectionFilestoCopyList "Textrcd", SrcFileDir$, PICTPUB$
- AddSectionFilestoCopyList "Brushcd", SrcFileDir$, PICTPUB$
- END IF
-
- IF ftype% = SCANFILES THEN
- AddSectionFilestoCopyList "Devices", SrcFileDir$, PICTPUB$
- END IF
-
- SrcDir$ = ""
-
- ENDIF
- END SUB
-
- SUB OLE_Process STATIC
- SrcDir$ = GetSymbolValue("STF_SRCDIR")
- SrcFileDir$ = MakePath (SrcDir$, "INSTALL")
- SysDir$ = WINDIRECT$+"SYSTEM"
-
-
- FOR i% = 1 TO GetListLength(VERTEXT$) STEP 1
-
- IF DoesFileExist(SYSTEMDIRECT$+GetListItem(VERTEXT$, i%), femExist) THEN
- VStr$=GetVersionOfFile(SYSTEMDIRECT$+GetListItem(VERTEXT$, i%))
- PPStr$=GetSectionKeyVersion("Ole",GetListItem(VERTEXT$, i%))
- CHKIT$= GetListItem(VERTEXT$, i%)
- IF Vstr$=PPStr$ Then
- GOTO JUMPA
- ENDIF
- FOR j% = 1 to 4 STEP 1
- IF GetVersionNthField(PPStr$, j%) > GetVersionNthField(VStr$, j%) THEN
- AddSectionKeyFileToCopyList "Ole", GetListItem(VERTEXT$, i%), SrcFileDir$, SysDir$
- EXIT FOR
- ENDIF
- NEXT j%
- ELSE
- CHKIT$= GetListItem(VERTEXT$, i%)
- AddSectionKeyFileToCopyList "Ole", GetListItem(VERTEXT$, i%), SrcFileDir$, SysDir$
- ENDIF
- JUMPA:
- NEXT i%
- END SUB
-
-